It is desirable in electronic multi-component systems that components used to build up the systems can be seamlessly integrated, thereby keeping the integration effort as low as possible, while at the same time having good performance. Ideally this should be the case independent of who the component manufacturer is. To form a standard, several manufacturers have formed a group which is called the Mobile Industry Processor Interface Alliance (MIPI®). The MIPI Alliance has agreed on a high-speed interface technology called UniPro℠ which is for instance used for high speed communication between electronic components in mobile devices. In the future it will incorporate Phy symbol encoding which is available in D-Phy which is using 8b9b encoding as well as M-Phy that will be using 8b10b encoding.
In general UniPro℠ is defined to be a general purpose protocol that deals with solutions of common issues like error handling, flow-control and routing or arbitration.
In the past and at present UniPro℠ however provides a fairly complex error handling to ensure reliable communication. UniPro℠ error handling is based on error detection using cyclic redundancy check (CRC), error reporting using Negative Acknowledgement Control (NAC) frames and data frame retransmissions in case of errors. Furthermore sequence numbers ensure that data frames are received in the proper order and prevent frames from being lost or duplicated. Sequence numbers are also used for management of a retransmission buffer on the transmitter side, assisting in removal of the frames from the retransmission buffer once they have been correctly received.
Further to the CRC error detection in UniPro℠, timers are used to address error corner cases. At present, two timers are used to protect against the loss of frame acknowledgements and flow-control credits respectively.
When Phy-encoding is used, UniPro℠ makes use of the Phy-specific error detection to trigger standard UniPro℠ error recovery mechanism.